home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xybtip10.mf < prev    next >
Text File  |  1995-03-15  |  3KB  |  81 lines

  1. % $Id: xybtip10.mf,v 2.7 1992/12/14 01:41:26 kris Exp $
  2. %
  3. % XYBTIP10: lower arrow tips for XY-pic at 10 point "technical style".
  4. % Copyright (c) 1991,1992  Kristoffer H. Rose  <kris@diku.dk>
  5. %
  6. % This file is part of the XY-pic macro package.
  7. %
  8. % The XY-pic macro package is free software; you can redistribute it and/or
  9. % modify it under the terms of the GNU General Public License as published by
  10. % the Free Software Foundation; either version 2 of the License, or (at your
  11. % option) any later version.
  12. %
  13. % The XY-pic macro package is distributed in the hope that it will be
  14. % useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  16. % Public License for more details.
  17. %
  18. % You should have received a copy of the GNU General Public License along
  19. % with this macro package; if not, write to the Free Software Foundation,
  20. % Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. % _________________________________________________________________________
  22. %
  23. % CONTENTS: Arrow tips *pointing* in all directions.  With zero bounding box
  24. % placed at the tip; note most of the ink goes on the opposite side of where
  25. % the tip points.
  26. %
  27. % This font contains the half of the tip that is lower when pointing right.
  28. % _________________________________________________________________________
  29. %
  30. font_identifier "XYBTIP"; font_size 10pt#;
  31. mode_setup;
  32.  
  33. % METANESS...
  34. %
  35. segl# = 1/2 designsize; define_pixels(segl);        % segment length
  36. segx# = 0.62 segl#; define_pixels(segx);        % segment height
  37. segw# = .4pt#; define_whole_blacker_pixels(segw);    % segment thickness
  38. %
  39. tipo# = 0#; define_pixels(tipo);    % tip overshoot
  40. curvature = 1/3;            % 1 = straight tails, 0= curved tails
  41. %
  42. pickup pencircle scaled segw; char_pen := savepen;
  43. %
  44. % chartowards makes char cc a tip pointing towards (dx,dy)...
  45. %
  46. def chartowards(expr cc,dx,dy) =
  47.  beginchar(cc,0,0,0);
  48.   a := angle(dx,dy);
  49.   z0 = (tipo,0) rotated a;         % tip of tip
  50.   z1 = (-segl,0) rotated a;        % center of tail
  51.   z2 = (-segl,-1/2 segx) rotated a;    % tail ends
  52.   z3 = curvature [z1,z2]    ;    % tail directions
  53.   pickup char_pen; draw z2..{-z3}z0;
  54.   penlabels(0,1,2,3);
  55.  endchar
  56. enddef;
  57.  
  58. % TESTING...we redefine openit because the characters extend far to the
  59. % left of the bounding box!
  60. %
  61. def openit = openwindow currentwindow
  62.  from origin to (screen_cols,screen_rows) at (-200,300) enddef;
  63.  
  64. % GENERATE...
  65. %
  66. input xyd
  67.  
  68. bye.
  69. %
  70. % $Log: xybtip10.mf,v $
  71. % Revision 2.7  1992/12/14  01:41:26  kris
  72. % Now uses xyd.mf.
  73. %
  74. % Revision 2.1  1992/01/02  14:54:07  kris
  75. % Release version.
  76. %
  77. % Revision 1.1  1991/11/27  06:41:03  kris
  78. % Initial: \beta-test on DIKU.
  79. %
  80. % Based on obsolete xytip10.mf v.1.4.
  81.